package com.wctj.api.business.common.manager.bo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * 
 * @author carol
 * @date   2024-10-21 20:22:30
 */
@Accessors(chain = true)
@Data
public class AdminUserDTO {

    private Long id;

    /**
     *账户ID
     */
    private Long aid;

    /**
     *商户ID 平台是0
     */
    private Long bid;

    /**
     *登录账号
     */
    private String un;

    /**
     *登录密码MD5
     */
    @JsonIgnore
    private String pwd;

    /**
     *最后登录IP
     */
    private String ip;

    /**
     *最后登录时间
     */
    private Integer logintime;

    /**
     *状态 1开启 0关闭
     */
    private Integer status;

    /**
     *创建时间
     */
    private Integer createtime;

    /**
     *备注
     */
    private String remark;

    /**
     *1 所有权限 0 选择权限
     */
    private Integer authType;

    /**
     *是否是主账号 1主账号 0分账号
     */
    private Integer isadmin;

    /**
     *门店ID 全部是0
     */
    private Long mdid;

    /**
     *订单提交通知
     */
    private Integer tmplOrderconfirm;

    /**
     *订单支付通知
     */
    private Integer tmplOrderpay;

    /**
     *订单收货通知
     */
    private Integer tmplOrdershouhuo;

    /**
     *退款通知
     */
    private Integer tmplOrdertui;

    /**
     *充值通知
     */
    private Integer tmplRecharge;

    /**
     *提现通知
     */
    private Integer tmplWithdraw;

    /**
     *表单提交通知
     */
    private Integer tmplFormsub;

    /**
     *客户咨询通知
     */
    private Integer tmplKehuzixun;

    /**
     *会员升级通知
     */
    private Integer tmplUplv;

    /**
     *餐厅预订通知
     */
    private Integer tmplRestaurantBooking;

    /**
     *买单付款通知
     */
    private Integer tmplMaidanpay;

    /**
     *是否显示首页数据统计
     */
    private Integer showtj;

    /**
     *绑定的会员ID
     */
    private Long mid;

    /**
     *随机字符串16位
     */
    private String randomStr;

    /**
     *权限组id
     */
    private Long groupid;

    /**
     *哪个管理员添加的
     */
    private Long addid;

    private String bids;

    private Integer hexiaoNum;

    /**
     *权限集 auth_type为0时才有效
     */
    private String authData;

    /**
     *手机端权限集 auth_type为0时才有效
     */
    private String wxauthData;

    /**
     *接收通知权限集
     */
    private String noticeAuthData;

    /**
     *核销权限集
     */
    private String hexiaoAuthData;

    @ApiModelProperty(value = "角色ID集合")
    private List<Long> roleIds = new ArrayList<>();

    public Long getMid() {
        return Objects.isNull(mid) ? 0L : mid;
    }

    public void setMid(Long mid) {
        this.mid = mid;
    }
}